03. 课程结构
课程结构
深度学习基石纳米学位分为五个项目,每个项目都包含不同的主题。在开始这门纳米学位后,前两个项目可以立即查看。其它项目每两周开启一个。
简介
第一个项目是这个纳米学位的简介,会提及你将在课程中使用的一些工具。你也有机会应用一些深度学习模型去做超酷的事情,像转变某幅艺术品的风格,使其成为另一张图片。
我们将首先简要介绍线性回归和机器学习,帮助你了解一些基本词汇,以便理解该领域的最新发展,并且让你明白深度学习在机器学习这一更宽泛领域中所处的位置。
神经网络
在这个项目中,你将学习如何使用 Numpy 从零开始搭建简单的神经网络。我们会介绍训练神经网络经常会用到的一些算法,例如梯度下降和反向传播算法。
本周, 第一个项目 已经上线了。在此项目中,你将使用一个简单的神经网络预测单车使用情况。
Multi-layer neural network with some inputs and a single output. Image from Stanford's cs231n course .
情感分析
你将学习模型评估与验证,一个用于训练和评估神经网络的重要技巧。我们特邀了 Grokking Deep Learning 的作者 Andrew Trask 做讲师,开发一个用于处理文本和预测情绪的神经网络。你也可以在他的书中找到这个练习 Github repository 。
深度学习中的PyTorch
课程中会教授 Pytorch 深度学习框架。在这里,你将会学习如何使用 Tensor 数据结构,以及如何在 Pytorch 中定义和训练你的深度学习模型。
PyTorch logo
卷积神经网络
卷积神经网络是目前计算机视觉领域最佳的方法。这些网络可以检测和识别图像中的物体。你将学习如何在 Pytorch 中构建卷积神经网络。你将要完成 第二个项目 ,在此项目中,你将构建一个卷积网络,用以分类青蛙、飞机、汽车等图像。
Structure of a convolutional neural network.
你将会使用卷积神经网络去构建一个 自动编码器 , 用于图片压缩和去噪的神经网络架构。然后你将使用预训练神经网络, 对神经网络从未见过的图像进行分类,,这个技术被称为 迁移学习 。
## 循环神经网络
本课程中,你将了解循环神经网络——一种网络架构,特别适合处理序列型数据,如文本、音乐、时间序列数据等。你将构建一个循环神经网络,能够一字一字生成一段新的文本。
Examples of input/output sequence types.
自然语言处理
然后,你将会学习词嵌入和实施 Word2Vec 模型,一个可以学习不同词汇间语义关系的神经网络。这将会提高神经网络处理文本的效率。
你将结合"词嵌入"和"循环神经网络"预测电影评论的情感,这是一个自然语言处理里的常用案例。
在 第三个项目 中,你将使用循环神经网络从中生成辛普森情节的电视剧台词。
An example RNN structure in which an encoder represents the question: "how are you?" and a decoder generates the answer: "I am good"
生成对抗网络(GAN)
生成对抗网络 (GANs) 是深度学习领域的一颗新星, 它是前沿的图像生成模型,对理解真实世界的数据展现出难以置信的能力。这个网络可以用来构建生成图片的项目。如: CycleGAN
Examples of image-to-image translation done by CycleGAN and Pix2Pix formulations.
GAN 的发明者 Ian Goodfellow 将教你如何自己搭建生成对抗网络。你将会学到半监督学习,一个用于训练分类缺失标签数据的技术。
在 第四个项目 中,你将使用生成对抗网络来生成人脸图像。
Low-res, GAN-generated images of faces.
深度强化学习
过去几年,深度强化学习已经成为人工智能领域中最前沿的研究方向之一。例如,DeepMind团队在构建AlphaGo时就广泛使用 深度强化学习 。
在这个部分,你会在一个模拟环境中,通过深度神经网络来训练你的“四周飞行器”。这个项目帮助你积累‘环境学习’经验,该经验能够帮助你今后在更为复杂的任务中去训练电子游戏或机器人。